package day02.operator.transformation

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author wsl
 * @Description
 */
object DoubleValue {
  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setAppName("rdd").setMaster("local[*]")
    val sc = new SparkContext(conf)

    val rdd: RDD[Int] = sc.makeRDD(Array(1, 2, 3, 4), 2)
    val rdd2: RDD[Int] = sc.makeRDD(Array(3, 4, 5, 6), 2)

    //交集
    rdd.intersection(rdd2).collect().foreach(println)

    //并集   不去重
    rdd.union(rdd2).collect().foreach(println)

    //差集
    rdd.subtract(rdd2).collect().foreach(println)

    //拉链  返回tuple  跟scala不同：两个rdd元素个数相同且分区个数相同。
    rdd.zip(rdd2).collect().foreach(println)


    sc.stop()
  }
}
